From: kaf24@firebug.cl.cam.ac.uk Date: Wed, 28 Jun 2006 09:03:24 +0000 (+0100) Subject: [HVM][SVM] Clean up double-fault handling. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15913^2~7 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=940d86e2e12844e63d2edf70685cd4197cccc841;p=xen.git [HVM][SVM] Clean up double-fault handling. Signed-off-by: Tom Woller --- diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 3a90a27f0d..db628b2210 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -47,7 +47,6 @@ #include #endif #include -#include #define SVM_EXTRA_DEBUG @@ -66,8 +65,6 @@ extern void send_pio_req(struct cpu_user_regs *regs, unsigned long port, extern int svm_instrlen(struct cpu_user_regs *regs, int mode); extern void svm_dump_inst(unsigned long eip); extern int svm_dbg_on; -void svm_manual_event_injection32(struct vcpu *v, struct cpu_user_regs *regs, - int vector, int has_code); void svm_dump_regs(const char *from, struct cpu_user_regs *regs); static void svm_relinquish_guest_resources(struct domain *d); @@ -2804,8 +2801,11 @@ asmlinkage void svm_vmexit_handler(struct cpu_user_regs regs) } case VMEXIT_EXCEPTION_DF: - printk("Guest double fault"); - BUG(); + /* Debug info to hopefully help debug WHY the guest double-faulted. */ + svm_dump_vmcb(__func__, vmcb); + svm_dump_regs(__func__, ®s); + svm_dump_inst(svm_rip2pointer(vmcb)); + svm_inject_exception(v, TRAP_double_fault, 1, 0); break; case VMEXIT_INTR: